package com.hiultra.archive.service;

import com.hiultra.common.core.domain.TreeSelect;
import com.hiultra.common.core.domain.entity.ArcShelves;

import java.util.List;

/**
 * 密集架Service接口
 * 
 * @author ls
 * @date 2022-07-28
 */
public interface IArcShelvesService 
{
    /**
     * 查询密集架
     * 
     * @param shelvesId 密集架主键
     * @return 密集架
     */
    public ArcShelves selectArcShelvesByShelvesId(Long shelvesId);

    /**
     * 查询密集架列表
     * 
     * @param arcShelves 密集架
     * @return 密集架集合
     */
    public List<ArcShelves> selectArcShelvesList(ArcShelves arcShelves);

    /**
     * 新增密集架
     * 
     * @param arcShelves 密集架
     * @return 结果
     */
    public int insertArcShelves(ArcShelves arcShelves);

    /**
     * 修改密集架
     * 
     * @param arcShelves 密集架
     * @return 结果
     */
    public int updateArcShelves(ArcShelves arcShelves);

    /**
     * 批量删除密集架
     * 
     * @param shelvesIds 需要删除的密集架主键集合
     * @return 结果
     */
    public int deleteArcShelvesByShelvesIds(Long[] shelvesIds);

    /**
     * 删除密集架信息
     * 
     * @param shelvesId 密集架主键
     * @return 结果
     */
    public int deleteArcShelvesByShelvesId(Long shelvesId);

    /**
     * 设置密集架规格
     *
     * @param arcShelves 密集架
     * @return 结果
     */
    public int updateColumnAndSection(ArcShelves arcShelves);

    /**
     * 构建前端所需要下拉树结构
     *
     * @param arcShelves 密集架列表
     * @return 下拉树结构列表
     */
    public List<TreeSelect> buildShelvesTreeSelect(List<ArcShelves> arcShelves);

    /**
     * 查询密集架列表-根据等级查询
     *
     * @param arcShelves 密集架
     * @return 密集架集合
     */
    public List<ArcShelves> selectArcShelvesByLeve(ArcShelves arcShelves);
}
